<!DOCTYPE html>
<!-- 
    This tests verifies that filters work even on composited layers that fallback to rendering in software.
    NOTE: It is using the fact that Safari can draw drop-shadows in GPU only if the filter is the last one in the filter chain.
    You should see three green rectangles slightly rotated and blurred. There should be no red.
-->
<html>
<head>
    <style>
        .box {
            position: relative;
            margin: 10px;
            height: 50px;
            width: 50px;
            background-color: green;
            transform: translate(50px, 0px) rotate(20deg);
        }

        .before {
            background-color: red;
        }

        .blur {
            /* force a composited layer */
            will-change: transform;
            background: red;
            margin: 50px;
            filter: drop-shadow(0px 0px 1px blue) blur(5px);
            width: 0px;
            height: 0px;
        }
    </style>

    <script src="../../resources/run-after-layout-and-paint.js"></script>
    <script>
        function repaintTest()
        {
            document.querySelector(".before").classList.remove("before");
        }
    </script>
</head>

<body onload="runAfterLayoutAndPaint(repaintTest, true)">

    <div class="blur">
        <div class="box"></div>
        <div class="box before"></div>
        <div class="box"></div>
    </div>

</body>
</html>
